home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_a9x / delay.ada < prev    next >
Text File  |  1996-01-30  |  617b  |  30 lines

  1. WITH Text_IO; USE Text_IO;
  2. WITH Calendar; USE Calendar;
  3.  
  4. PROCEDURE Testa_Delay IS
  5.     Interval  : Duration := 0.05;
  6.     Next_Time : Time;
  7.     Work_Time : Time;
  8.     TASK Will_Be_Aborted IS
  9.         ENTRY Start;
  10.     END Will_Be_Aborted;
  11.     TASK BODY Will_Be_Aborted IS
  12.     BEGIN
  13.         ACCEPT Start;
  14.         LOOP
  15.             Put('a');
  16.         END LOOP;
  17.     END Will_Be_Aborted;
  18. BEGIN
  19.     Next_Time := Clock + Interval;
  20.     Work_Time := Clock + 0.2;
  21.     Will_Be_Aborted.Start;
  22.     WHILE Clock <= Work_Time LOOP
  23.         DELAY UNTIL Next_Time;
  24.         New_Line;
  25.         Put('.');
  26.         Next_Time := Next_Time + Interval;
  27.     END LOOP;
  28.     ABORT Will_Be_Aborted;
  29.     New_Line;
  30. END Testa_Delay;